package com.java.business.system.permis.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.java.business.system.permis.bean.User;
import com.java.business.system.permis.bean.UserRole;

/**
 * 用户数据层
 * 
 * @author W.G
 * 
 */
public interface UserMapper {
	/**
	 * 新增用户
	 * 
	 * @param user
	 */
	public void add(User user);

	/**
	 * 修改用户
	 * 
	 * @param user
	 */
	public void update(User user);

	/**
	 * 设置密码
	 * 
	 * @param user
	 */
	public void setPassword(User user);

	/**
	 * 设置Disabled
	 * 
	 * @param userid
	 */
	public void setDisabled(User user);

	/**
	 * 设置角色
	 * 
	 * @param ur
	 */
	public void setRoles(UserRole ur);

	/**
	 * 清空角色
	 * 
	 * @param userid
	 */
	public void clearRoles(String userid);

	/**
	 * 移除角色
	 * 
	 * @param userid
	 * @param roleid
	 */
	public void removeRole(@Param("userid") String userid,
			@Param("roleid") String roleid);

	/**
	 * 删除用户
	 * 
	 * @param userid
	 */
	public void delete(String userid);

	/**
	 * 根据编号获取用户信息
	 * 
	 * @param userid
	 */
	public User getUserByUserId(String userid);

	/**
	 * 根据用户名获取用户信息
	 * 
	 * @param username
	 */
	public User getUserByUserName(String username);

	/**
	 * 查询用户列表
	 * 
	 * @param user
	 * @return
	 */
	public List<User> getUserList(User user);
}
